# coding=utf-8
# 开发时间：2023/8/20 13:42
import re


def mobile(mobile_str):
    '''
    验证手机号格式
    :param mobile_str: 被检验字符串
    :return:
    '''
    if re.match(r'^1[3-9]\d{9}$',mobile_str):
        return mobile_str
    else:
        raise ValueError('{} is not a valid mobile'.format(mobile_str))

def regex(pattern):
    '''
    对验证码进行正则校验
    :param pattern:  正则表达式
    :return:
    '''
    def validate(code_str):
        '''
        具体校验一个字符串，根据传入进来的正则表达式
        :param code_str: 验证码字符串
        :return:
        '''
        if re.match(pattern,code_str):
            return code_str
        else:
            raise ValueError('{} is not a valid param'.format(code_str))
    return validate

def email(email_str):
    '''对邮箱进行格式校验'''
    if re.match(r'^([A-Za-z0-9_\-\.\u4e00-\u9fa5])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,8})$',email_str):
        return email_str
    else:
        raise ValueError('{} is not a valid email'.format(email_str))
